package com.eonmind.vip.dto;

import com.eonmind.common.contract.data.request.PageRequest;
import com.eonmind.common.contract.enums.DelEnum;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;


/**
 * 消费Dto
 */

@Data
@ToString
public class ConsumptionDto {

    /**
     * 消费记录分页请求数据
     */
    @Data
    @ToString
    @Accessors(chain = true)
    public static class ConsumptionPageRequest {

        /**
         * 关键字查询，全部、获取、使用
         *
         * @mock "默认"
         */
        private String keyword;

        /**
         * 开始时间
         */
        private Long startTime;

        /**
         * 结束时间
         */
        private Long endTime;

        /**
         * 分页信息
         */
        private PageRequest page = new PageRequest();
    }

    /**
     * 消费记录分页请求数据
     */
    @Data
    @ToString
    @Accessors(chain = true)
    public static class ConsumptionResponse {
        /**
         * 创建时间
         */
        private String date;

        /**
         * 消费类型
         */
        private String category;
        /**
         * 消费 or 收入
         */
        private String type;
        /**
         * 消费额度
         */
        private Integer pointsChange;
        /**
         * 消费描述
         */
        private String description;
        /**
         * 积分余额
         */
        private Integer balance;
        /**
         * 模型名称
         */
        private String modelName;
    }

    /**
     * 每月消费记录
     */
    @Data
    @ToString
    @Accessors(chain = true)
    public static class MonthConsumption {
        /**
         * 时间
         */
        private String date;

        /**
         * 收入
         */
        private Integer income;
        /**
         * 消费
         */
        private Integer outcome;
    }
}
